﻿//Created by Action Script Viewer - http://www.buraks.com/asv
package Display {
    import flash.text.*;
    import L10n.*;

    public class TextFieldUtil {

        public static const WHITESPACE:String = " \t\n\r";

        public static function formatSmallCaps(_arg1:TextField, _arg2:TextFormat):void{
            var _local5:String;
            var _local8:String;
            var _local3:String = _arg1.text;
            var _local4:int = _local3.length;
            var _local6 = "";
            _arg1.text = _local3.toUpperCase();
            var _local7:int;
            while (_local7 < _local3.length) {
                _local5 = _local3.charAt(_local7);
                if (Global.localizer.langCode == "tr"){
                    switch (_local5){
                        case "i":
                            _local8 = "İ";
                            break;
                        case "ı":
                            _local8 = "I";
                            break;
                        default:
                            _local8 = _local5.toUpperCase();
                    };
                } else {
                    if (Global.localizer.langCode == "de"){
                        switch (_local5){
                            case "ß":
                                _local8 = "SS";
                                break;
                            default:
                                _local8 = _local5.toUpperCase();
                        };
                    } else {
                        _local8 = _local5.toUpperCase();
                    };
                };
                _local6 = (_local6 + _local8);
                _local7++;
            };
            _arg1.text = _local6;
            while (_local4--) {
                _local5 = _local3.charAt(_local4);
                if (((!(TextFieldUtil.isLowerCase(_local5))) || (TextFieldUtil.isNumber(_local5)))){
                    _arg1.setTextFormat(_arg2, _local4, (_local4 + 1));
                };
            };
            LocaleHelper.localSetting.TextField_applyTextFormat(_arg1, _arg2);
        }
        public static function formatSmallCapsString(_arg1:String):String{
            var _local3:String;
            var _local6:String;
            var _local2:String = _arg1;
            var _local4 = "";
            var _local5:int;
            while (_local5 < _local2.length) {
                _local3 = _local2.charAt(_local5);
                if (Global.localizer.langCode == "tr"){
                    switch (_local3){
                        case "i":
                            _local6 = "İ";
                            break;
                        case "ı":
                            _local6 = "I";
                            break;
                        default:
                            _local6 = _local3.toUpperCase();
                    };
                } else {
                    if (Global.localizer.langCode == "de"){
                        switch (_local3){
                            case "ß":
                                _local6 = "SS";
                                break;
                            default:
                                _local6 = _local3.toUpperCase();
                        };
                    } else {
                        _local6 = _local3.toUpperCase();
                    };
                };
                _local4 = (_local4 + _local6);
                _local5++;
            };
            return (_local4);
        }
        public static function autosize(_arg1:TextField, _arg2:int, _arg3:int):void{
            var _local4:TextFormat = _arg1.getTextFormat();
            while ((((_arg1.textWidth > _arg2)) || ((_arg1.textHeight > _arg3)))) {
                _local4.size = (int(_local4.size) - 1);
                _arg1.setTextFormat(_local4);
            };
        }
        public static function isUpperCase(_arg1:String):Boolean{
            if (_arg1 != _arg1.toUpperCase()){
                return (false);
            };
            return (true);
        }
        public static function trim(_arg1:String, _arg2:String=" \t\n\r"):String{
            var _local3:RegExp = new RegExp((((("^[" + _arg2) + "]+|[") + _arg2) + "]+$"), "g");
            return (_arg1.replace(_local3, ""));
        }
        public static function isLowerCase(_arg1:String):Boolean{
            if (_arg1 != _arg1.toLowerCase()){
                return (false);
            };
            return (true);
        }
        public static function isNumber(_arg1:String):Boolean{
            var _local2:String = TextFieldUtil.trim(_arg1);
            if ((((_local2.length < _arg1.length)) || ((_arg1.length == 0)))){
                return (false);
            };
            return (!(isNaN(Number(_arg1))));
        }
        public static function getLocaleFontSize(_arg1:Number, _arg2:Number, _arg3:Array):Number{
            var _local4:Number;
            var _local6:uint;
            var _local5:Array = [];
            if (Global.localizer.langCode != "en"){
                if (_arg3 != null){
                    _local6 = 0;
                    while (_local6 < _arg3.length) {
                        _local5.push(_arg3[_local6].locale);
                        if (in_array(Global.localizer.langCode, _local5)){
                            _local4 = _arg3[_local6].size;
                            return (_local4);
                        };
                        _local6++;
                    };
                    if (!in_array(Global.localizer.langCode, _local5)){
                        _local4 = _arg2;
                    };
                } else {
                    _local4 = _arg2;
                };
            } else {
                _local4 = _arg1;
            };
            return (_local4);
        }
        public static function getLocaleFontSizeByRatio(_arg1:Number, _arg2:Number, _arg3:Array):Number{
            var _local4:Number;
            var _local6:uint;
            var _local5:Array = [];
            if (Global.localizer.langCode != "en"){
                if (_arg3 != null){
                    _local6 = 0;
                    while (_local6 < _arg3.length) {
                        _local5.push(_arg3[_local6].locale);
                        if (in_array(Global.localizer.langCode, _local5)){
                            _local4 = int((_arg1 * _arg3[_local6].ratio));
                            return (_local4);
                        };
                        _local6++;
                    };
                    if (!in_array(Global.localizer.langCode, _local5)){
                        _local4 = int((_arg1 * _arg2));
                    };
                } else {
                    _local4 = int((_arg1 * _arg2));
                };
            } else {
                _local4 = _arg1;
            };
            return (_local4);
        }
        public static function in_array(_arg1:String, _arg2:Array):Boolean{
            var _local3:uint;
            while (_local3 < _arg2.length) {
                if (_arg2[_local3] == _arg1){
                    return (true);
                };
                if ((_arg2[_local3] is Array)){
                    return (in_array(_arg1, _arg2[_local3]));
                };
                _local3++;
            };
            return (false);
        }

    }
}//package Display 
